PHP: if (!empty($text)) { $add_com = "INSERT INTO comments (comment,ilan_id, ilan_sahibi,yazan_kisi,date,ip_address,status) VALUES (?,?,?,?,?,?,?)"; $connect->prepare($add_com)->execute(["$text,$id,$ilan_sahibi,$username,$a,$ip_address,'yayında'"]); header('Location: ../comments.php'); } возвращает atal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in D:\OSPanel\domains\iscok\vendor\add_com.php:46 Stack trace: #0 D:\OSPanel\domains\iscok\vendor\add_com.php(46): PDOStatement->execute() #1 {main} thrown in D:\OSPanel\domains\iscok\vendor\add_com.php on line 46
Переведи Гугл-переводчиком на турецкий. В сообщении четко написано, в чем проблема. --- Добавлено --- И, да, не с той стороны ты подступился к РНР, раз допускаешь такие ошибки. Я, даже когда был совсем зеленый, таких ошибок не допускал.
P.S. Значение поля status можно прямо в текст запроса вписать, избавившись от одного параметра Хотя формально у тебя сейчас и так всего один параметр И лепить статусы вроде текста «активно» прямо в такую таблицу противоречит принципам построения БД (если у тебя там не какой-нибудь ENUM)
ДА я смотрел,там видать в запросе в парамметрах что я выводил,через запятую ошибка,не могу найти ее. Ну хз,значит у тя источники были нормальными или я не способный человек значит и что,это не помогает мне решить проблему чел --- Добавлено --- Ну вдруг чел удалить коммент или смс,там будет "неактивно" и сообщение не выведится,только админ сможет видеть,почему противоречит принципам построения бд то --- Добавлено --- крч ты написал 2 комма,но ни одним не помог решить проблему
PHP: //- test + $text = 'Привет'; $id = 1; $ilan_sahibi = 1; $username = 'test'; $a = time(); $ip_address = '127.0.0.1'; $str = 'yayında'; //- test - $go = $connect->prepare("INSERT INTO `comments` ( `comment`, `ilan_id`, `ilan_sahibi`, `yazan_kisi`, `date`, `ip_address`, `status`) VALUES ( ?, ?, ?, ?, ?, ?, ?)"); $go->bind_param("siisiss", $text, $id, $ilan_sahibi, $username, $a, $ip_address, $str); $go->execute(); var_dump($go);
Мои комменты для развивающихся. А тупо решить проблему – это сейчас к нейросетям --- Добавлено --- Вон выше какая-то «нейросеть» подогнала тебе решение. Даже тупо воткнула в него bind_param, чтобы ты так и не понял, какую ошибку изначально допустил. Но, т.к. это нейросеть, она все равно сильно лоханулась Так что пока придется развиваться. Или сформулировать для нейросети уточняющий вопрос --- Добавлено --- Речь вообще не об этом была, а о том, как хранить статусы в показанной таблице. В общем развивай свои навыки, чтобы понимать, о чем тебе пишут хотя бы начинающие программисты вроде меня. Пока что ты для меня такой же инопланетянин, как я для тебя.
@ilya45 тут человек писал что ошибки и предупреждения нужно переводить хотя бы переводчиком. В них очень часто прямо написана причина ошибки. Скажем лишний знак вопроса [Invalid parameter number: number of bound variables does not match number of tokens] или отсутствие символа (
Помогли с ошибкой,ошибка была в запросе,кавычки тут лишние ->execute([$text,$id,$ilan_sahibi,$username,$a,$ip_address,'yayında']); Я прекрасно понимаю,что ты умеешь введу.Я и не прошу дать мне рыбу,я прошу дать удочку,а не пустые коммы,друг. Мне бы хотя бы источник,тут мог бы написать,приссмотрись к запросу внимательней,учись делать правильно запросы,кидай много запросов и тогда ты начнешь уже оттачивать их.Мог бы так написать,я не прошу исправленный код. А где узнать эту тему то,правильно статусы в бд ставить,ну то что тебе не понрнавилось в статусах --- Добавлено --- НУ я перевел,там я понял так,что количество токенов не соответствует количеству парамметров в execute,но не мог понять почему,вроде через запятую все перечислял --- Добавлено --- Я не игнорировал это,я понял,что система тока 1 параметр видит,но не мог понять почему,вроде перечисление параметров сделано верно